#include<stdio.h>
void sort(int data[],int n){
//data存储数组，n存储数组的大小
	int tem;
	for(int i=0;i<n-1;i++){
		for(int j=0;j<n-i-1;j++){
			if(data[j]<data[j+1]){
				tem=data[j];
				data[j]=data[j+1];
				data[j+1]=tem;
			}
		}
	}
}
int main(){
	int n1=0,n2=0,n3=0;
	int data1[20]={0};
	int data2[20]={0};
	int data3[40]={0};
	scanf("%d",&data1[0]);
	n1++;
	while(getchar()!='\n'){
		scanf("%d",&data1[n1]);
		n1++;
	}
	do{
		scanf("%d",&data2[n2]);
		n2++;
	}while(getchar()!='\n');
	sort(data1,n1);
	sort(data2,n2);
	int i=0,j=0;
	while(i<n1&&j<n2){
		if(data1[i]<data2[j]){
			printf("%d ",data2[j]);
			j++;
		}
		else if(data1[i]>data2[j]){
			printf("%d ",data1[i]);
			i++;
		}else if (data1[i]=data2[j]){
			i++;
			j++;

		}
	}
	while(i<n1){
		printf("%d ",data1[i]);
                i++;
	}
	while(j<n2){
		printf("%d ",data2[j]);
		j++;
	}

}
